package com.xbongbong.saas.service;

import com.xbongbong.paas.pojo.FieldAttrEntityForImport;
import com.xbongbong.paas.pojo.dto.FormDataAddDTO;
import com.xbongbong.paas.pojo.dto.ImportFormDataDTO;
import com.xbongbong.paas.pojo.imports.CellTitlePojo;
import com.xbongbong.paas.pojo.imports.RowGroupPojo;
import com.xbongbong.paas.pojo.vo.FormDataAddVO;
import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.pro.formexplain.pojo.dto.HandlerExplainInLinkItemDTO;
import com.xbongbong.pro.oriStock.pojo.OriStockSaveDTO;
import com.xbongbong.pro.product.pojo.dto.PagingProductDTO;
import com.xbongbong.pro.product.pojo.vo.PagingProductVO;
import com.xbongbong.pro.workorder.pojo.dto.WarehouseOriDeleteBatchDTO;

import java.util.List;
import java.util.Set;

/**
 * Created by xbb on 2019/10/16.
 */
public interface OriStockService {
    /**
    * @Description: 关联新建时格式化解释
    * @Param: [handlerExplainInLinkItemDTO]
    * @return: void
    * @Author: cyy
    * @Date: 2019/10/16
    */
    void formatLinkAddExplain(HandlerExplainInLinkItemDTO handlerExplainInLinkItemDTO) throws XbbException;
    /**
    * @Description: 期初库存保存 
    * @Param: [oriStockSaveDTO] 
    * @return: com.xbongbong.paas.pojo.vo.FormDataAddVO 
    * @Author: cyy 
    * @Date: 2019/10/17 
    */ 
    FormDataAddVO add(OriStockSaveDTO oriStockSaveDTO) throws XbbException;

    /**
     * 导出期初库存
     *
     * @param importFormDataDTO
     * @param titlePojoList
     * @param rowGroupPojo
     * @param fieldAttrList
     * @return
     */
    FormDataAddDTO formatExcelValue(ImportFormDataDTO importFormDataDTO, List<CellTitlePojo> titlePojoList, RowGroupPojo rowGroupPojo, List<FieldAttrEntityForImport> fieldAttrList) throws XbbException;

    void deleteBatch(WarehouseOriDeleteBatchDTO warehouseOriDeleteBatchDTO) throws XbbException;

    void reSetWarehouseOriStock(String corpid, Set<Long> warehouseIdList) throws XbbException;
}
